home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005.7z / CHIP Utilities 2005.iso / images / freesco.igz / freesco.img / router / wwa / cgi / usr.cgi < prev   
Encoding:
Text File  |  2003-06-20  |  6.9 KB  |  232 lines

  1. #!/bin/sh
  2.  
  3. . /etc/system.cfg
  4. . /etc/live.cfg
  5. . /etc/chat.pwd
  6.  
  7.  
  8. PATH=/boot/bin:/bin:/sbin:/usr/bin:/usr/sbin:/etc:/tmp:/rc:/mnt/bootdev/router/pkg/rc:/mnt/bootdev/router/rc:/:/:.    
  9.  
  10. T=`date`
  11. HSIDE="<html><head><style fprolloverstyle>A:hover {color: #FF00FF}</style></head><body bgcolor=black text=white link=#00FFFF vlink=#00FFFF alink=#FF00FF><center>"
  12. FSYS="<font face=system"
  13. HSTAB="<tr><td colspan=4 bgcolor=#333333>$FSYS color=#FFFF00>"
  14. LINE1="<tr><td colspan=4>$FSYS><a target=main href=usr.cgi"
  15. LINE3="<tr><td colspan=4>$FSYS><a target=main href=adm.cgi"
  16. NBSP="<tr><td> </td></tr>"
  17. A="</a></td></tr>"
  18. B="<tr><td>$FSYS>"
  19. C="</td><td align=right>$FSYS><a target=main href=adm.cgi"
  20. D="</a> <a target=main href=adm.cgi"
  21. E="echo"
  22. F="</td><td align=right>$FSYS><a target=main href=usr.cgi"
  23.  
  24. MODE_D=Dial-up
  25. if [ "$USEPPP0" = y -a "$ROUTER" = ethernet ]; then
  26.     MODE_D=PPPoE
  27.     [ "$PPPTYPE" = t ] && MODE_D=PPtP    
  28. fi
  29.  
  30. logname() {
  31.     export LOGNAME=$REMOTE_USER@$REMOTE_ADDR
  32. }    
  33. ttl()    {
  34.     $E "<html><body bgcolor=#000000 text=#00FF00><table border=1 width=100% bordercolor=#FFFFCC cellspacing=0 cellpadding=5><tr><td><font face=courier size=3><pre>"
  35. }
  36. end()    {
  37.     $E "</center><br><font color=#FFFFFF>[<font color=#FF00FF>L<font color=#00FFFF>i<font color=#00FF00>n<font color=#FFFF00>u<font color=#FF0000>x<font color=#FFFFFF>]<font color=#00FF00> _</td></tr></table></body></html>"
  38. }
  39. cpage()    {
  40.     ttl
  41.     $E "</pre><p align=center>FREESCO v$VERSION [$ROUTER $ISPNAME] $T</p><br><br><br><br><center>$*<br><br><br>"
  42.     end
  43. }
  44.  
  45. case "$1" in
  46.     ttl)    ttl;exit;;
  47.     end)    end;exit;;
  48.     cpage)    shift;cpage "$*";exit;;
  49. esac
  50.  
  51. $E "Content-type: text/html"
  52. $E "Expires: Thu, 1 Oct 1990 19:32:44 GMT"
  53. $E
  54. $E 
  55. case "$QUERY_STRING$REMOTE_USER" in
  56.  
  57. line*)    $E "$HSIDE<form method=POST action=adm.cgi?shell target=main><font face=Courier size=4><br>[<font color=#FF00FF>L<font color=#00FFFF>i<font color=#00FF00>n<font color=#FFFF00>u<font color=#FF0000>x<font color=#FFFFFF>] <input type=text name=line size=50 style="font-family: Courier"> <input type=submit value=Enter><input type=reset value=Clear></form></body></html>";;
  58.  
  59. side*)    cat <<-!
  60.         $HSIDE
  61.         <table border=1 cellpadding=3 cellspacing=0 bordercolor=#FFFFCC><tr><td>
  62.         <table border=0 cellpadding=2 cellspacing=0>
  63.         $HSTAB Info</td></tr>
  64.         $LINE1?info>System$A
  65.         $LINE1?log>Recent Log$A
  66.         $LINE1?login>Last Logins$A
  67.         $LINE1?net>Network$A
  68.     !
  69.     if [ "$ROUTER" = dialup -o "$USEPPP0" = y ]; then 
  70.     cat <<-!
  71.         $NBSP
  72.         $HSTAB $MODE_D Link$A
  73.         ${B}Link$F?state>STAT</td><td colspan=2>
  74.     !
  75.     if [ "$ROUTER" = dialup ]; then 
  76.     cat <<-!
  77.         <a href=usr.cgi?up target=main>$FSYS>UP</a> <a href=usr.cgi?down target=main>$FSYS>DWN$A
  78.         ${B}Block$C?</a>$F?block>ON$F?unblock>OFF$A
  79.         ${B}Force$C?</a>$F?force>ON$F?unforce>OFF$A
  80.     !
  81.     else
  82.         $E "<a href=usr.cgi?pppup target=main>$FSYS>UP</a> </a><a href=usr.cgi?pppdown target=main>$FSYS>DOWN$A"
  83.     fi
  84.     fi
  85.     if [ "$REMOTE_USER" = admin ]; then
  86.         if [ "$ROUTER" = ethernet -a "$ENADYNDNS" = y ]; then cat <<-!
  87.             $NBSP
  88.             $HSTAB DynDNS$A
  89.             $LINE1?dyndns>DynDNS Stat</a>
  90.             $LINE3?dyndns>Update now</a>
  91.             $LINE3?dynforce>Force update</a>
  92.         !
  93.         fi
  94.         cat <<-!
  95.         $NBSP
  96.         $HSTAB Modem Users$A
  97.         $LINE3?listu>List$D?tpass>Add/Change$D?formdel>Delete$A
  98.         
  99.         $NBSP
  100.         $HSTAB Web Users$A
  101.         $LINE3?wlst>List$D?fpass>Add/Change$D?formwdel>Delete$A
  102.  
  103.         $NBSP
  104.         $HSTAB Services$A
  105.         ${B}Firewall$C?</a>$C?fwall>RST$A
  106.         ${B}DNS$C?dnsstatus>STAT$C?dnsrestart>RST$C?dnsstop>OFF$A
  107.         ${B}DHCP$C?dhcpstatus>STAT$C?dhcprestart>RST$C?dhcpstop>OFF$A
  108.         ${B}HTTP$C?</a>$C?</a>$C?httpstop>OFF$A
  109.         ${B}FTP$C?pureftpstatus>STAT$C?pureftprestart>RST$C?pureftpstop>OFF$A
  110.         ${B}LPD$C?lpdstatus>STAT$C?lpdrestart>RST$C?lpdstop>OFF$A
  111.         ${B}Ident$C?identstatus>STAT$C?identrestart>RST$C?identstop>OFF$A
  112.         ${B}Cron$C?cronstatus>STAT$C?cronrestart>RST$C?cronstop>OFF$A
  113.         ${B}Telnet$C?tlnetstatus>STAT$C?tlnetrestart>RST$C?tlnetstop>OFF$A
  114.         ${B}Dial-in$C?mdmstatus>STAT$C?mdmrestart>RST$C?mdmstop>OFF$A
  115.         ${B}Rings$C?ringmore>MORE$C?ringstd>RST$A
  116.         ${B}Time</td><td colspan=3><a href=adm.cgi?sync target=main>$FSYS>SYNCHRONIZE$A
  117.         $NBSP
  118.         $HSTAB Banned Connections$A
  119.         $LINE3?blst>List$D?formban>Deny$D?formuban>Allow$A
  120.         $NBSP
  121.         $HSTAB Port Forwarding$A
  122.         $LINE3?plist>List$D?fadd>Add$D?fdel>Delete</a>$D?prst>RST$D?poff>OFF$A
  123.         $NBSP
  124.         $HSTAB Change Mode$A
  125.         $LINE3?reboot>REBOOT$A
  126. !
  127.     if [ "`cat /etc/system.cfg | sed -n /ROUTER=eth/p`" ]; then
  128.         $E "$LINE3?ethernet>ETHERNET$A"
  129.     fi
  130.     if [ $ROUTER = ethernet -o $ROUTER = dialup ]; then
  131.         $E -n "<tr><td colspan=4>$FSYS>DIAL-UP$A"
  132.         for i in `ls /etc/*.isp 2>/dev/null | sed 's:/etc/::g;s/.isp//g'`; do
  133.             if [ "$i" = "$DEFISP" ]; then
  134.                 $E -n "$LINE3?isp.$i><em>$i</em>$A"
  135.             else
  136.                 if [ "$i" != ethernet ]; then
  137.                 $E -n "$LINE3?isp.$i>$i$A"
  138.                 fi    
  139.             fi
  140.         done
  141.     fi
  142.     fi
  143.  
  144.     if [ "$REMOTE_USER" = admin ]; then
  145.         $E "$NBSP"
  146.         $E "$HSTAB PACKAGES $A</font>"      
  147.         PACKAGES=""
  148.         for o in `ls /wwa/cgi/addons/`; do   
  149.         if [ "$o" != addons ]; then
  150.             PACKAGES="$PACKAGES $o"
  151.         fi
  152.         done
  153.         for o in $PACKAGES; do   
  154.         $E -n "<tr><td colspan=4>$FSYS>$o</a></font>"
  155.         for i in `ls /wwa/cgi/addons/$o/ | sed s/.cgi//`; do   
  156.             $E "<tr><td>$FSYS><a target=main href=/cgi/addons/$o/$i.cgi>$i</a></font>"    
  157.         done
  158.         done
  159.  
  160.         $E " </table></td></tr></table></body></html>"
  161.     fi;;
  162.  
  163. void*)    cpage "System is up since<br>$BOOTIME";;
  164.  
  165. info*)    ttl; sysinfo | sed "s/</\<\;/g;s/>/\>\;/g" | sed '/^$/d'; end;;
  166.  
  167. login*)    ttl 
  168.     $E
  169.     cat /var/secure 2>/dev/null 2>/dev/null
  170.     $E
  171.     end;;
  172.  
  173. log*)    ttl; $E
  174.     cat /var/log/messages.1 2>/dev/null
  175.     $E
  176.     cat /var/messages 2>/dev/null | sed "s/</\<\;/g;s/>/\>\;/g"
  177.     $E
  178.     end;;
  179.  
  180. net*)    ttl; netinfo | sed "s/</\<\;/g;s/>/\>\;/g"; end;;
  181.  
  182. state*)    L="UP -"
  183.     if [ -f /tmp/state ]; then
  184.         M=`cat /tmp/state`
  185.         set -- `cat /tmp/connect`
  186.         shift
  187.         O="$*"
  188.     else
  189.         if [ "$USEPPP0" = y -a "`ifconfig | grep ppp`" ]; then
  190.             set --`ifconfig ppp0 | grep inet | sed -e 's/i[^:]*://' -e 's/P.*//'`
  191.             O="$1"
  192.         else
  193.             L="DOWN"
  194.         fi    
  195.     fi
  196.     [ "$ENADYNDNS" = y ] && N="<a target=main href=usr.cgi?dyndns>DynDNS Stat</a>"
  197.  
  198.     cpage "</center><blockquote>$MODE_D Link to [$ISPNAME] is $L $O<br><br>$M<br><br>$N"
  199.     ;;
  200.  
  201. dyndns*) cpage "</center><blockquote><pre>`dyndns status`</pre></blockquote>";;
  202.  
  203.  
  204. up*|down*|block*|unblock*|force*|unforce*)
  205.     logname
  206.     cpage "`control $QUERY_STRING`";;
  207.  
  208. pppup*) logname
  209.     cpage "<pre>`rc_net restart`</pre>";;
  210.  
  211. pppdown*) logname
  212.       killall pppd ; cpage "$MODE_D link is down";;
  213.  
  214. *)    $E    "<html><head><title>FREESCO's Control Panel (c) 2000,2003 www.freesco.org</title></head>"
  215.     if [ "$REMOTE_USER" = admin ]; then
  216.         $E "<frameset rows="*,15%" framespacing=0 border=0 frameborder=0>"
  217.         FWIDTH=28
  218.     else    
  219.         FWIDTH=20
  220.     fi
  221.     cat <<-!
  222.             <frameset cols="${FWIDTH}%,*" framespacing=0 border=0 frameborder=0>
  223.         <frame name=side src=usr.cgi?side>
  224.         <frame name=main src=usr.cgi?void>
  225.         </frameset>
  226.     !
  227.     [ "$REMOTE_USER" = admin ] && $E "<frame name=line src=usr.cgi?line></frameset>"
  228.     $E "<noframes><body>C'mon look at your calendar.<br>Upgrade to frame capable browser or use telnet.</body></noframes></html>"
  229.     ;;
  230.  
  231. esac
  232.